網(wǎng)絡(luò)接口卡 (NIC) 分組是一種對(duì)物理網(wǎng)絡(luò)適配器進(jìn)行分組以提高性能和冗余的常用技術(shù)。NIC 組合的主要優(yōu)點(diǎn)是負(fù)載平衡(通過網(wǎng)絡(luò)重新分配流量)和故障轉(zhuǎn)移(在系統(tǒng)硬件出現(xiàn)故障時(shí)確保網(wǎng)絡(luò)連續(xù)性),而無(wú)需多個(gè)物理連接。從本質(zhì)上講,NIC 組合是一項(xiàng)可以增加正常運(yùn)行時(shí)間的戰(zhàn)略計(jì)劃。
什么是 NIC 組合?
將多條網(wǎng)絡(luò)電纜從一臺(tái)服務(wù)器插入多臺(tái)物理交換機(jī)是在物理服務(wù)器的傳統(tǒng)網(wǎng)絡(luò)設(shè)置中實(shí)現(xiàn)容錯(cuò)的方法。但是,在這種情況下,負(fù)載平衡是不存在的,即使服務(wù)器始終有多個(gè) Internet 協(xié)議 (IP) 地址處于活動(dòng)狀態(tài)也是如此。另一方面,NIC 分組是 Windows Server 的一項(xiàng)功能,它允許將 NIC 分組到組中。團(tuán)隊(duì)成員是用于與交換機(jī)通信的網(wǎng)絡(luò)適配器。團(tuán)隊(duì)接口是創(chuàng)建團(tuán)隊(duì)時(shí)創(chuàng)建的虛擬網(wǎng)絡(luò)適配器。因此,NIC 組合保持與多個(gè)物理交換機(jī)的連接,但使用單個(gè) IP 地址。這確保隨時(shí)可用的負(fù)載平衡和即時(shí)容錯(cuò)(而不是等待 DNS 記錄超時(shí)/更新)。
NIC 組合的好處是什么?
NIC 組合提供的主要好處是更好的負(fù)載平衡和更高的容錯(cuò)能力。
負(fù)載均衡
在 NIC 組合的情況下,網(wǎng)絡(luò)流量在所有活動(dòng) NIC 之間平均平衡。因此,傳出流量會(huì)根據(jù)目標(biāo)地址在可用的物理 NIC 之間自動(dòng)進(jìn)行負(fù)載平衡。傳入流量由將流量路由到服務(wù)器的交換機(jī)控制。服務(wù)器不控制物理 NIC 流量。
容錯(cuò)性
NIC 組合提供的另一個(gè)好處是更高的容錯(cuò)能力。如果其中一個(gè)底層物理 NIC 出現(xiàn)故障或相應(yīng) NIC 的電纜被拔掉,主機(jī)/服務(wù)器會(huì)檢測(cè)到故障情況并自動(dòng)將流量轉(zhuǎn)移到另一個(gè) NIC。這降低了整個(gè)網(wǎng)絡(luò)出現(xiàn)故障的可能性,從而提高了系統(tǒng)的容錯(cuò)能力。
什么是網(wǎng)卡綁定模式?
兩種 NIC 綁定模式是獨(dú)立于交換機(jī)和依賴于交換機(jī)。它們?cè)谙旅娼忉尅?/p>
開關(guān)獨(dú)立
顧名思義,在Switch Independent模式下,NIC team成員所連接的交換機(jī)不知道NIC team的存在。因此,這些交換機(jī)不知道如何將網(wǎng)絡(luò)流量分配給 NIC 團(tuán)隊(duì)成員,而是將入站網(wǎng)絡(luò)流量分配給 NIC 團(tuán)隊(duì)成員。
將交換機(jī)獨(dú)立模式與動(dòng)態(tài)分配結(jié)合使用可根據(jù)傳輸控制協(xié)議 (TCP) 端口的地址哈希分配網(wǎng)絡(luò)流量負(fù)載。動(dòng)態(tài)負(fù)載平衡算法重新分配流量以優(yōu)化團(tuán)隊(duì)成員帶寬利用率,以確保單個(gè)流量傳輸從一個(gè)活躍的團(tuán)隊(duì)成員轉(zhuǎn)移到另一個(gè)。該算法還考慮了重新分配流量導(dǎo)致無(wú)序數(shù)據(jù)包交付的可能性,并采取措施將這種可能性降至最低。
開關(guān)依賴
在 Switch Dependent 模式下,連接到 NIC 團(tuán)隊(duì)成員的交換機(jī)決定了入站網(wǎng)絡(luò)流量在 NIC 團(tuán)隊(duì)成員之間的分配。因此,連接的交換機(jī)在確定如何在 NIC 團(tuán)隊(duì)成員之間分配流量方面具有獨(dú)立性。所有團(tuán)隊(duì)成員必須連接到同一個(gè)物理交換機(jī)或共享交換機(jī) ID 的多機(jī)箱交換機(jī)。Switch Dependent模式還有以下兩個(gè)選項(xiàng):
- 靜態(tài)分組:需要手動(dòng)配置交換機(jī)和主機(jī)以識(shí)別形成團(tuán)隊(duì)的鏈接。由于此配置是靜態(tài)的,因此沒有其他協(xié)議可以幫助交換機(jī)和主機(jī)識(shí)別錯(cuò)誤,例如電纜插入不正確。這可能會(huì)導(dǎo)致團(tuán)隊(duì)失敗。通常,服務(wù)器級(jí)交換機(jī)支持此模式。
- 鏈路聚合控制協(xié)議 (LACP):?LACP 分組動(dòng)態(tài)識(shí)別交換機(jī)和主機(jī)之間連接的鏈路。這反過來(lái)又可以自動(dòng)創(chuàng)建團(tuán)隊(duì)。所有服務(wù)器級(jí)交換機(jī)都支持此模式,但網(wǎng)絡(luò)運(yùn)營(yíng)商必須在交換機(jī)端口上啟用 LACP。NIC teaming 在 LACP 的活動(dòng)模式下運(yùn)行,定時(shí)器很短,目前還沒有更改定時(shí)器或 LACP 模式的機(jī)制。
將交換機(jī)相關(guān)模式與動(dòng)態(tài)分配結(jié)合使用可根據(jù)動(dòng)態(tài)負(fù)載平衡算法修改的傳輸端口地址散列來(lái)分配網(wǎng)絡(luò)流量負(fù)載。該算法重新分配流量,優(yōu)化團(tuán)隊(duì)成員帶寬利用率,并允許單個(gè)流量傳輸從一個(gè)活躍的團(tuán)隊(duì)成員轉(zhuǎn)移到另一個(gè)。該算法還降低了無(wú)序交付的可能性,但將其可能性考慮在內(nèi)。
負(fù)載平衡模式
NIC teaming的負(fù)載均衡分配方式有:
地址哈希
在這種模式下,哈希是根據(jù)數(shù)據(jù)包的地址組件創(chuàng)建的。此散列被分配給可用適配器之一,從而在可用適配器之間創(chuàng)建合理的平衡。
Windows PowerShell 可用于指定散列組件的值,例如:
- 源和目標(biāo) TCP 端口以及源和目標(biāo) IP 地址。
- 僅源地址和目標(biāo)地址。
- 僅限源和目標(biāo)媒體訪問控制 (MAC) 地址。
TCP 端口創(chuàng)建流量流的粒度分布,從而產(chǎn)生更小的流。但是,這不能用于不基于 TCP 或用戶數(shù)據(jù)報(bào)協(xié)議 (UDP) 的流量。在這種情況下,哈希使用 IP 地址哈希或 MAC 地址哈希。
Hyper-V 端口
在此模式下,在 Hyper-V 主機(jī)上配置的 NIC 組為虛擬機(jī) (VM) 提供獨(dú)立的 MAC 地址。VM 的 MAC 地址或連接到 Hyper-V 交換機(jī)的 VM 端口用于在 NIC 團(tuán)隊(duì)成員之間分配網(wǎng)絡(luò)流量。VM 內(nèi)創(chuàng)建的網(wǎng)卡組不能配置 Hyper-V 端口負(fù)載平衡模式,而是需要地址哈希模式。
動(dòng)態(tài)的
在這種模式下,出站負(fù)載根據(jù)TCP 端口和IP 地址分配。此模式實(shí)時(shí)重新平衡負(fù)載,以確保給定的出站流量在團(tuán)隊(duì)成員之間來(lái)回移動(dòng)。入站負(fù)載的分布方式與 Hyper-V 端口相同。它利用了地址哈希和 Hyper-V 的兩個(gè)方面,是性能最高的負(fù)載平衡模式。
Linux 網(wǎng)卡組合
NIC 綁定在 Linux 中稱為 NIC 綁定。原理是相同的——在NIC 綁定中,2 個(gè)或更多網(wǎng)卡被“綁定”到一個(gè)虛擬 NIC 中。要使 NIC 綁定正常工作,您的網(wǎng)絡(luò)交換機(jī)必須支持 EtherChannel 鏈路聚合架構(gòu)。這應(yīng)該不是問題,因?yàn)楫?dāng)今大多數(shù)網(wǎng)絡(luò)交換機(jī)都支持 EtherChannel。
Linux網(wǎng)卡綁定有以下幾種模式:
模式 | 政策 | 容錯(cuò) | 負(fù)載均衡 | 特征 |
模式=0 | 循環(huán)法 | 是的 | 是的 | 以循環(huán)方式發(fā)送/接收數(shù)據(jù)包的默認(rèn)模式。 |
模式=1 | 主動(dòng)備份 | 是的 | 不 | 只有一個(gè)次級(jí)是活動(dòng)的。如果活動(dòng) NIC 發(fā)生故障,則此輔助 NIC 將充當(dāng)活動(dòng) NIC。 |
模式=2 | 異或 (XOR) | 是的 | 是的 | 基于 XOR 公式傳輸。一旦在 NIC 和匹配設(shè)備之間建立連接,就使用同一個(gè) NIC 向目標(biāo) MAC 發(fā)送/接收數(shù)據(jù)。 |
模式=3 | 播送 | 是的 | 不 | 所有數(shù)據(jù)包都在所有輔助接口上發(fā)送,以實(shí)現(xiàn)超可靠網(wǎng)絡(luò)。 |
模式=4 | IEEE 802.3 廣告動(dòng)態(tài)鏈路聚合 | 是的 | 是的 | 創(chuàng)建共享相同雙工設(shè)置和速度的聚合組。 |
模式=5 | 自適應(yīng)傳輸負(fù)載平衡 (TLB) | 是的 | 是的 | 傳出流量根據(jù)每個(gè)輔助設(shè)備上的當(dāng)前負(fù)載進(jìn)行分配。 |
模式=6 | 自適應(yīng)負(fù)載平衡 (ALB) | 是的 | 是的 | 接收負(fù)載平衡是通過地址解析協(xié)議協(xié)商實(shí)現(xiàn)的。 |
微軟網(wǎng)卡組合
Microsoft 網(wǎng)絡(luò)適配器多路復(fù)用器協(xié)議是用于將 2 個(gè)或更多 NIC 鏈接在一起的內(nèi)核模式設(shè)備驅(qū)動(dòng)程序。因此,它使Windows 中的 NIC 組合成為可能。由于 Microsoft 網(wǎng)絡(luò)適配器多路復(fù)用器是內(nèi)核級(jí)驅(qū)動(dòng)程序,它與 Windows 操作系統(tǒng)和任何其他內(nèi)核模式驅(qū)動(dòng)程序駐留在相同的地址空間中,使其成為惡意軟件的潛在攻擊媒介。為了解決潛在的安全問題,Microsoft 特意在沒有多個(gè) NIC 的服務(wù)器硬件上禁用了此驅(qū)動(dòng)程序。當(dāng)您在具有 2 個(gè)或更多物理網(wǎng)絡(luò)接口的硬件中設(shè)置 NIC 綁定時(shí),它會(huì)自動(dòng)啟用。